import request from '@/utils/request'

// 权限管理API

/**
 * 获取权限列表
 */
export function getPermissionList(params) {
  return request({
    url: '/api/admin/permissions/list',
    method: 'get',
    params
  })
}

/**
 * 获取权限详情
 */
export function getPermissionById(id) {
  return request({
    url: `/api/admin/permissions/${id}`,
    method: 'get'
  })
}

/**
 * 创建权限
 */
export function createPermission(data) {
  return request({
    url: '/api/admin/permissions/create',
    method: 'post',
    data
  })
}

/**
 * 更新权限
 */
export function updatePermission(id, data) {
  return request({
    url: `/api/admin/permissions/${id}`,
    method: 'put',
    data
  })
}

/**
 * 删除权限
 */
export function deletePermission(id) {
  return request({
    url: `/api/admin/permissions/${id}`,
    method: 'delete'
  })
}

/**
 * 获取所有权限（不分页）
 */
export function getAllPermissions() {
  return request({
    url: '/api/admin/permissions/all',
    method: 'get'
  })
}

/**
 * 根据类型获取权限列表
 */
export function getPermissionsByType(type) {
  return request({
    url: `/api/admin/permissions/by-type/${type}`,
    method: 'get'
  })
}

/**
 * 根据资源获取权限列表
 */
export function getPermissionsByResource(resource) {
  return request({
    url: `/api/admin/permissions/by-resource/${resource}`,
    method: 'get'
  })
}

/**
 * 获取菜单权限
 */
export function getMenuPermissions() {
  return request({
    url: '/api/admin/permissions/menus',
    method: 'get'
  })
}

/**
 * 获取操作权限
 */
export function getActionPermissions() {
  return request({
    url: '/api/admin/permissions/actions',
    method: 'get'
  })
}